Systems and methods for providing cost-sharing  transportation services

ABSTRACT

Systems and methods for providing a cost-sharing transportation service are provided. An exemplary method includes receiving first and second requests for a cost-sharing option of the transportation service from first and second users, respectively. The method also includes determining whether to fulfill the first and second requests using a same service vehicle shared by the first and second users. In response to a determination to fulfill the first and second requests using the same service vehicle shared by the first and second users, the method includes combining the first and second requests into a combined request, sending the combined request to one or more service providers, and locating a service provider to fulfill the combined request.

CROSS REFERENCE TO RELATED APPLICATION

The present application is a continuation of International Patent Application No. PCT/CN2018/122444, filed Dec. 20, 2018, which claims priority to PCT/CN2018/116068, filed Nov. 17, 2018, and PCT/CN2018/087442, filed May 18, 2018. The entire contents of the above-identified applications are hereby incorporated by reference.

TECHNICAL FIELD

The present disclosure relates to providing transportation services, and more particularly, to systems and methods for providing cost-sharing transportation services using an online platform.

BACKGROUND

An online hailing platform (e.g., DiDi™ online) can receive a ride-hailing service request from a passenger and then route the service request to at least one transportation service provider (e.g., a taxi driver, a private car owner, or the like). The service request can be answered by a service provider or assigned to a service provider if no one picks up the service request within a predetermined time period.

When multiple passengers go to similar destinations or share similar routes, they can be pooled together to share the same service vehicle, as well as the cost. This cost-sharing arrangement is also referred to as carpooling. Current online hailing platforms providing the cost-sharing option assign service providers (e.g., drivers) to fulfill the service requests on an ad-hoc basis. For example, a driver is assigned to a passenger to fulfill the passenger's cost-sharing service request without knowing whether a co-rider is available before accepting the request. As a result, the driver may risk providing the service without being compensated with the full price, discouraging the driver from accepting cost-sharing requests. In addition, the process of accepting individual cost-sharing service requests is cumbersome and time consuming, further discouraging drivers from taking cost-sharing service orders.

Embodiments of the present disclosure provide methods and systems that address the aforementioned shortcomings.

SUMMARY

Embodiments of the disclosure provide a system for providing a cost-sharing transportation service. The system may include a memory storing computer-readable instructions and at least one processor coupled to the memory. The instructions stored on the memory, when executed by the at least one processor, may cause the processor to perform operations. The operations may include receiving first and second requests for a cost-sharing option of the transportation service from first and second users, respectively. The operations may also include determining whether to fulfill the first and second requests using a same service vehicle shared by the first and second users. In response to a determination to fulfill the first and second requests using the same service vehicle shared by the first and second users, the operations include combining the first and second requests into a combined request, sending the combined request to one or more service providers, and locating a service provider to fulfill the combined request.

Embodiments of the disclosure further disclose a computer-implemented method for providing a cost-sharing transportation service. The method may include receiving first and second requests for a cost-sharing option of the transportation service from first and second users, respectively. The method also includes determining whether to fulfill the first and second requests using a same service vehicle shared by the first and second users. In response to a determination to fulfill the first and second requests using the same service vehicle shared by the first and second users, the method includes combining the first and second requests into a combined request, sending the combined request to one or more service providers, and locating a service provider to fulfill the combined request.

Embodiments of the disclosure further disclose a non-transitory computer-readable medium. The non-transitory computer-readable medium may store a set of instructions, when executed by at least one processor of an electronic device, cause the electronic device to perform a method for providing a cost-sharing transportation service. The method may include receiving first and second requests for a cost-sharing option of the transportation service from first and second users, respectively. The method also includes determining whether to the first and second requests using a same service vehicle shared by the first and second users. In response to a determination to fulfill the first and second requests using the same service vehicle shared by the first and second users, the method includes combining the first and second requests into a combined request, sending the combined request to one or more service providers, and locating a service provider to fulfill the combined request.

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary system for providing a cost-sharing transportation service, according to embodiments of the disclosure.

FIG. 2 illustrates a block diagram of an exemplary terminal device configured to provide a cost-sharing transportation service, according to embodiments of the disclosure.

FIG. 3 illustrates a block diagram of an exemplary server configured to provide a cost-sharing transportation service, according to embodiments of the disclosure.

4 illustrates a flowchart of an exemplary method for provide a cost-sharing transportation service, according to embodiments of the disclosure.

FIGS. 5A-5G are exemplary interfaces showing various stages of providing a cost-sharing transportation service, according to embodiments of the disclosure.

DETAILED DESCRIPTION

Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.

Embodiments of the disclosure provide systems and methods for providing cost-sharing transportation services. In some embodiments, a cost-sharing transportation service may reward passengers' sharing of a transportation vehicle by splitting the cost among co-riders. In some embodiments, the cost-sharing service may be provided as an option to a user in addition to regular transportation services. As used herein, the cost-sharing service may also be referred to as a cost-sharing option, a cost-saving service/option, a carpooling service/option, a carpool service/option, or similar terms.

Embodiments of the disclosure provide a streamlined solution for a service provider (e.g., a driver) to take multiple cost-sharing orders. For example, embodiments of the present disclosure allow a service provider to accept multiple cost-sharing service requests from co-riders with a single acceptance action by combining the multiple service requests into a combined service request and presenting the combined service request to the driver. As a result, the service provider would be able to accept multiple cost-sharing service requests as if there is a single request, significantly shortening the order acceptance time on the driver's side. In addition, by combining multiple service requests before presenting them to the driver, multiple co-riders need to be pooled together first, allowing calculation of the total ride fare the driver would expect to earn. The total fare information may then be communicated to the driver before the driver accepts the combined service request, providing assurance to the driver that the cost-sharing service would be fairly compensated. Therefore, embodiments of the present disclosure may improve drivers' participant rate in the cost-sharing service.

In some embodiments, exemplary systems and methods may be implemented as part of an online ride-hailing service (also referred to as an online ride-sharing service), where a driver provides transportation service to one or more passengers using a service vehicle. In such a context, the driver and one or more passengers may communicate using terminal devices, such as mobile phones, wearable devices, PDAs, etc. The online ride-hailing service may be provided via a service platform that facilitates communications among the terminal devices and between the terminal devices and a server.

FIG. 1 illustrates an exemplary system 100 for providing a cost-sharing transportation service. As shown in FIG. 1, a user 102 may use a terminal device 112 to request a transportation service. For example, terminal device 112 may have a service application installed thereon to display a user interface that allows user 102 to input information pertinent to the transportation service. The request may include information of an origin location 126 and a destination location 132. As used herein, origin location 126 may or may not be the same as user 102's current physical location 122. Further, origin location 126 may or may not be the same as pick-up location 124. In some embodiments, user 102 may be provided with a cost-sharing option before inputting the origin/destination location information. In some embodiments, the origin location may indicate the location where user 102 uses as the “from” location for a transportation service. For example, to make a transportation service request, user 102 may input the address of the origin location through the service application installed on terminal device 112. User 102 may also manipulate a map shown on a user interface displayed by terminal device 112 to indicate the origin location 126 on the map. In some embodiments, origin location 126 may be depicted, by an indicator, such as a pin, on the map. User 102 may “drag” the pin or the map to change the position of the pin on the map.

In some embodiments, the transportation service request may be sent from terminal device 112 to a server 172 through a communication link 162. Server 172 may be provided in a cloud computing environment 170 (referred herein as “cloud 170” for simplicity). Communication link 162 may include any suitable communication channels, such as a wireless communication channel via a suitable network. After server 172 receives the request, server 172 may determine whether a cost-sharing option is available based on the origin and/or destination location of user 102. In some embodiments, the cost-sharing transportation service may be available in specific geographical areas, such as cities, counties, towns, metropolitan areas, etc. In such embodiments, server 172 may determine if the origin and/or destination falls within a predetermined geographical area that offers the cost-sharing service. After determining that the cost-sharing service is available, server 172 may provide the cost-sharing option to user 102. In some embodiment, the cost-sharing option may be provided as default transportation service option to user 102 in an area where the cost-sharing service is available.

The cost-sharing option may be accompanied by a price. The price may include a discount compared to the regular price to reflect the cost-sharing feature. In some embodiments, the price may be fixed, regardless of whether actual sharing of service vehicle occurs.

Terminal device 112 may receive input from user 102 indicating a selection of the cost-sharing option. For example, user 102 may select the cost-sharing option via the user interface displayed on a screen of terminal device 112. In some embodiments, user 102 may be provided with a user interface requesting confirmation of the number of seats needed. For example, a default number of one seat and a maximum number of two seats may be implemented.

After user 102 selects the cost-sharing option, user 102 may determine whether to submit the cost-sharing service request. For example, user 102 may click a confirmation button to submit the request. Upon receiving the request, server 172 may search for a second user associated with the cost-sharing option. For example, the second user may be a co-rider (e.g., user 106) who may share service vehicle 110 with user 102. In some embodiments, server 172 may broadcast the transportation service request to potential co-riders close to the current location of user 102 or the origin location 126. A co-rider may join user 102 to share service vehicle 110.

In some embodiments, server 172 may search for co-riders to share service vehicle 110 with user 102. For example, server 172 may search for co-riders that are located near the current location of user 102 and instruct the co-rider(s) to meet service provider 104 at pick-up location 124 or another pick-up location. For example, user 106 may be such a co-rider. User 106 may use a terminal device 116 to request a transportation service to destination 136. Similar to the case of user 102, the request may be sent to server 172 via a communication link 166. Server 172 may match user 106 to user 102 based on their destinations (132 and 136), routes to the destinations, gender, available payment method(s), or other suitable factors. After user 106 accepts the cost-sharing arrangement, a navigation route 146 may be provided to user 106 to meet service provider 104 and co-rider 102. In some embodiment, information of user 106 may be provided to user 102 to indicate that an available co-rider is found.

In some embodiments, server 172 may search for more than one co-rider (e.g., two or more co-riders) to share service vehicle 110 with user 102. For example, server 172 may search for each co-rider using a similar method as described above, and may wait until a predetermined number of co-riders are found before requesting the transportation service. In this case, server 172 may combine all individual requests made by all co-riders (e.g., three or more co-riders including user 102) into a combined request, and send the combined request to one or more service providers.

In some embodiments, after a certain time period has lapsed, if no co-rider is found, server 172 send the request made by user 102 to one or more service providers. In other words, even if user 102 is willing to share a service vehicle with other users, server 172 may prevent from letting user 102 to wait for a co-rider indefinitely. A maximal waiting period may be set, after which the request may be sent to service providers regardless of whether a co-rider is located.

In another example, server 172 may search for co-rider(s) that are on the way to one or more destinations of current rider(s) who would share the same service vehicle. For example, user 108 may be such a candidate co-rider who is not located close to the departure location of user 102, but is near a navigation route 152 leading to user 102's destination 132. User 108 may use a terminal device 118 to communicate with server 172 via a communication link 168, similar to the case of user 102. System 100 may match user 108 to user 102 as a co-rider and may instruct service provider 104 to take a detour 154 to pick up user 108 on the way to user 102's destination 132.

In some embodiments, searching for co-rider(s) may be continuous throughout the service trip, as long as there is at least one available seat on the shared service vehicle. In some embodiments, searching for co-rider(s) may be resumed after at least one seat becomes available as a result of leaving of a co-rider (e.g., arriving at the co-rider's destination). In some embodiments, there may be a maximum number of permitted stops the shared service vehicle can take during the entire service trip. For example, there may be a maximum of three stops experienced by user 102 along the way for pick-up and drop-off purposes. In some embodiments, after user 102 is within a predetermined distance to destination 132, no additional pick-up of co-rider(s) may be permitted. In some embodiment, the ratio between the distant to destination 132 and the total distance of the ride may be used as an indicator whether picking-up a new co-rider is permitted. If the ratio is below a predetermined value (e.g., user 102 is close to arrive destination 132), then no additional pick-ups may be allowed.

In some embodiments, server 172 may provide user 102 other co-riders' destinations when such destinations are on the way to user 102's destination 132. For example, a co-rider's destination may be at location 136 that is along the way to user 102's destination 132. Destination 136 may be depicted on a navigation map shown on a display of terminal device 112. In some cases, as shown in FIG. 1, destination 136 may be slightly off route 152 and service vehicle 110 may take a detour 156 to drop off a co-rider at destination 136. In some cases, a co-rider's destination 138 may be beyond user 102's destination 132. In this case, destination 138 may not be provided to user 102. Service vehicle 110 may continue along a route 158 to drop off a co-rider after completing the service trip along route 152.

In some embodiments, multiple users may submit cost-sharing service requests individually, and system 100 may combine multiple requests into a combine request after system 100 determines that the multiple users can share a single service vehicle to their destination locations. For example, user 102 may submit a cost-sharing service request to server 172 requesting a ride to destination location 132. User 106 may also submit a cost-sharing service request to server 172 requesting a ride to destination location 136. Both requests may contain information of the respective destination locations, origin locations, the number of requested seats, etc. Server 172 may determine if users 102 and 106 can be pooled together to fulfill their requests. For example, server 172 may determine if the destination locations requested by users 102 and 106 are close to each other (e.g., if the distance between the two destination locations is below a predetermined threshold or the driving time between the two destination locations is below a predetermined threshold), or if the routes to the two destination locations are sufficiently overlapping with each other. Other methods can also be used to determine whether users 102 and 106 can be pooled together to share a single service vehicle.

After server 172 determines that users 102 and 104 can share a single service vehicle, server 172 may combine the cost-sharing requests submitted by users 102 and 104 to generate a combined request. For example, server 172 may determine a service route (e.g., 152, 156) to fulfill the submitted requests using the same service vehicle. Server 172 may also determine a total ride fare to be collected from users 102 and 106. For example, users 102 and 106 may each be provided with a discounted rate before submitting their respective requests. Server 172 may sum up these individual rates as the total ride fare to be collected from users 102 and 106. The total ride fare, or information thereof, can be provided to service providers along with the combined request.

In some embodiments, server 172 may determine a pick-up location (e.g. 124) for picking up user 102 and/or user 106. For example, the pick-up location can be used to locate a server provider to provide the transportation service. For example, the pick-up location may be determined based on locations of the user and second users by optimizing an average distance between the locations of first and second users and the pick-up location. As shown in FIG. 1, pick-up location 124 may be selected between users 102 and 106 to allow both users meet at a middle point between their current locations. Pick-up location 124 may also be determined based on historical data, traffic conditions, or other factors. In some embodiments, server 172 may determine an address or point of interest corresponding to pick-up location 124 for providing to the service provider.

In some embodiments, after server 172 combines the service requests submitted by co-riders, server 172 may communicate the combined service request to one or more service providers. For example, server 172 may communicate with terminal device 114 of service provider 104 via communication link 164, which may be similar to communication link 162. In some embodiments, server 172 may broadcast the combined request to one or more service providers close to pick-up point 124. Information of the pick-up location and total ride fare may also be broadcast together with the combined request.

After receiving the combined request, a service provider 104 may accept the combined request to provide the transportation service using a service vehicle 110. Server 172 may also match the combined request to service provider 104 and assign the transportation service to service provider 104.

In some embodiments, terminal device 114 may provide information of service vehicle 110 and/or service provider 104 to server 172, such as the current location of service vehicle 110, whether service vehicle 110 is currently providing transportation service to other user(s), and if so, the destination or route of the current service ride. Server 172 may determine pick-up location 124 based on the information of service vehicle 110, service provider 104, user 102, location 122, pick-up area 120, etc. For example, server 172 may determine pick-up location 124 to balance the driving distance for service provider 104 and the walking distance for user 102, In some embodiments, server 172 may recommend several candidate pick-up locations for user 102/106 to choose from. User 102/106 may select a pick-up location from the candidates and send the selection to server 172. After pick-up location 124 is set, server 172 may provide information of the pick-up location to user 102/106 and service provider 104, For example, pick-up location 124 may be in a form of geographical coordinate on a map, and server 172 may determine the corresponding address, landmark, or point of interest (POT) based on the geographical coordinate, and provide the user-friendly address, landmark, or POI name to user 102/106 and service provider 104. Navigation routes, such as a walking route 142 from user 102's currently location 122 to pick-up location 124 and a driving route 144 from the current location of service vehicle to pick-up location 124 may be provided to user 102/106 and service provider 104, respectively.

FIG. 2 is a block diagram depicting an exemplary terminal device 200, according to embodiments of the disclosure. Terminal device 200 may include any suitable device that can display information to a user, e.g., a smart phone, a tablet, a wearable device, a computer, or the like. In some embodiments, terminal device 200 may be a driver terminal (e.g., terminal device 114) used by the transportation service provider 104. In some other embodiments, terminal device 200 may be a passenger terminal (e.g., terminal device 112, 116, or 118) used by the passenger requesting the transportation service or may be a driver terminal (e.g., terminal device 114) used by the driver accepting transportation service requests. Description of terminal device 200 will be made using a driver terminal as an example.

As shown in FIG. 2, terminal device 200 may include a communication interface 204, a processor 206, a memory/storage device 208, and a display 210. Communication interface 204 may include an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection. As another example, communication interface 204 may include a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links can also be implemented by communication interface 204. In such an implementation, communication interface 204 can send and receive electrical, electromagnetic or optical signals that carry digital data streams representing various types of information via a network. The network can typically include a cellular communication network, a Wireless Local Area Network (WLAN), a Wide Area Network (WAN), or the like.

Communication interface 204 may be configured to receive a transportation service request. Transportation service request may include, among other things, passenger information, a trip origin, a trip destination, or the like. The transportation service request may be accepted by or otherwise matched with a service vehicle (e.g., service vehicle 110). Communication interface 204 may be configured to receive passenger information from server 172 or directly from a passenger terminal (e.g., terminal device 112) associated with a passenger (e.g., passenger 102). Service vehicles may include taxi cars or private cars enrolled with an online hailing platform. In some embodiments, service vehicles may also include autonomous driving vehicles. Communication interface 204 may also be configured to send vehicle information and service provider information to server 172. The online hailing platform may maintain a database for storing profiles for the enrolled vehicles and the associated drivers. Vehicle information may include, e.g., vehicle position, vehicle year, maker, and model, as well as other features or characteristics associated with the service vehicle. Driver information may include, e.g., driver's name, picture, or other identification information, driver's license number, driving record, driver's customer reviews.

Communication interface 104 may also receive navigation information, e.g., current position of the passenger, pick-up location, traffic data, map data, etc. In some embodiments, communication interface 204 may be configured to receive other data from server 172, such as map data, real-time traffic information, weather information, road blocking information, etc. The updates may be received periodically, e.g., every 0.1 second, every second, every 5 seconds, or upon an update request.

Communication interface 204 may be configured to receive cost-sharing service information from server 172. For example, communication interface 204 may receive pricing information, pick-up location information, rider and/or co-rider information, destination information, etc., from server 172.

Processor 206 may include any appropriate type of general-purpose or special-purpose microprocessor, digital signal processor, or microcontroller. Processor 206 may be configured as a separate processor module dedicated to providing transportation service, including coordinating driver and rider(s), rendering map and providing navigation information. Alternatively, processor 206 may be configured as a shared processor module for performing other functions unrelated to transportation service. Processor 206 may include one or more hardware units (e.g., portion(s) of an integrated circuit) designed for use with other components or to execute part of a program. The program may be stored on a computer-readable medium, and when executed by processor 206, it may perform one or more functions related to transportation service provision.

Memory/storage device 208 may include any appropriate type of mass storage provided to store any type of information that processor 206 may process. Memory/storage device 208 may be a volatile or non-volatile, magnetic, semiconductor-based, tape-based, optical, removable, non-removable, or other type of storage device or tangible (i.e., non-transitory) computer-readable medium including, but not limited to, a ROM, a flash memory, a dynamic RAM, and a static RAM. Memory/storage device 208 may be configured to store one or more computer programs that may be executed by processor 206 to provide transportation service, including coordinating driver and rider(s), rending map, and providing navigation information. For example, memory/storage device 208 may be configured to store program(s) that may be executed by processor 206 to providing cost-sharing transportation services.

Memory/storage device 208 may be further configured to store information and data used by processor 206. For instance, memory/storage device 208 may be configured to store the various types of data (e.g., transportation service request, vehicle information, driver information, updated trip information, map data, traffic data, cost-sharing information, etc.). Memory/storage device 208 may also store intermediate data such as rendered map portions, navigation routes, size and shape of the elements displayed in the display region, etc. The various types of data may be stored permanently, removed periodically, or disregarded immediately after each frame of data is processed.

Display 110 may include a display such as a Liquid. Crystal Display (LCD), a Light Emitting Diode Display (LED), a plasma display, or any other type of display, and provide a Graphical User Interface (GUI) presented on the display for user input and data depiction. The display may include a number of different types of materials, such as plastic or glass, and may be touch-sensitive to receive inputs from the user. For example, the display may include a touch-sensitive material that is substantially rigid, such as Gorilla Glass™, or substantially pliable, such as Willow Glass™.

FIG. 3 is a block diagram of an exemplary server 172, consistent with some embodiments. Server 172 may include a communication interface 304, which may be similar to communication interface 204, with design features focused on server usage, such as high through-put, high availability, and high reliability. In some embodiments, communication interface 304 may receive transportation service requests from terminal devices 112, 116, and/or 118, and send service matching information to terminal 114 and/or cost-sharing matching information to terminal device 116 and/or 118. In some embodiments, communication interface 304 may send pick-up location information and/or navigation route information to terminal devices 112, 114, 116, and/or 118. In some embodiments, communication interface 304 may send combined cost-sharing service requests to driver terminal 114.

Server 172 may also include at least one processor 306. Processor 306 may be any suitable type of processor, and may be similar to processor 206 but with design features focused on server usage, such as high speed, multi-core, low latency, high reliability, high availability, and the ability to conduct parallel computing. Processor 306 may process the service requests received by communication interface 304 and determine the matching service vehicle(s) to fulfil the requests. Processor 306 may also determine co-riders to share the same service vehicle to save on cost. In some embodiments, processor 306 may determine the proper price for the cost-sharing option depending on factors such as demand-supply, historical pricing information, time of day, probability of success, etc.

Server 172 may further include a memory/storage device 308, which may include any types of mass storage devices. Memory/storage device 308 may be similar to memory/storage device 208, but with design features focused on server usage, such as high capacity, high through-out, high reliability, high availability, high speed, etc.

FIG. 4 illustrates a flowchart of an exemplary method 400 for providing a cost-sharing transportation service. Method 400 may be implemented by terminal device 114, by server 172, or jointly by the terminal device and server. It is contemplated that any step of method 400 can be performed by processor 206 alone, by processor 306 alone, or jointly by processors 206 and 306. In the following, processor 306 is used as an example in describing the steps of method 400. Method 400 may include multiple steps, as described below. It is to be appreciated that some of the steps may be optional to perform the embodiments provided herein. Further, some of the steps may be performed simultaneously, or in a different order than shown in FIG. 4.

In step 402, processor 306 may receive first and second requests for a cost-sharing option of a transportation service from first and second users, respectively. For example, processor 306 may receive the first request from user 102 and the second request from user 106. In some embodiments, uses 102 and 106 may individually submit their respectively cost-sharing transportation service requests to server 172. Each request may include a destination location (e.g., 132/136) and an origin location (e.g., 126), and may be accompanied by a price for the requested service. The price may be a per-user price, discounted for each individual user to account for each user's willingness to share a service vehicle with other co-rider(s). The total ride fare a service provider expects to collect may be based on the summation of all individual prices. The total ride fare may be higher than, for example, the ride fare a service provider would collect for servicing any individual user for a similar ride without the cost-sharing option to encourage the service provider to participate in the cost-sharing option. In other words, a service provider may receive a higher compensation if he/she accepts a cost-sharing service request to collect multiple ride fares from multiple passengers, than to provide a regular, non-cost-sharing transportation service to a single passenger (or multiple passengers paying a single ride fare) for a similar ride.

In step 404, processor 306 may determine whether to fulfill the first and second requests using a same service vehicle shared by the first and second users. For example, processor 306 may make the determination based on one or more factors, such as the distance or driving time between the destination locations, the degree of overlapping between individual routes to the respective destination locations, gender difference between co-riders, available payment method(s), or other suitable factors. In some embodiments, processor 306 may determine to fulfill the first and second requests using the same service vehicle shared by the first and second users when a distance between the destination locations of the first and second users is below a predetermined threshold. For example, as shown in FIG. 1, processor 306 may determine the distance between destination locations 132 (user 102's destination location) and 136 (user 106's destination location) and compare the distance with a predetermine threshold (e.g., 1 km, 2 km, 5 km, etc.). If the distance is below the predetermined threshold, then processor 306 may determine that users 102 and 106 may share the same service vehicle.

In some embodiments, processor 306 may determine to fulfill the first and second requests using the same service vehicle shared by the first and second users when a driving time between the first and second destination locations is below a predetermined threshold. For example, as shown in FIG. 1, processor 306 may determine the driving time from destination location 136 to destination location 132 (e.g., when destination location 132 is farther away from destination location 136) and compare the driving time with a predetermine threshold (e.g., 5 mins, 10 mins, 15 mins, etc.). If the driving time is below the predetermined threshold, then processor 306 may determine that users 102 and 106 may share the same service vehicle. In some embodiments, the driving time may be estimated based on the distance between the two destination locations, the driving speed of the service vehicle, the traffic conditions, and/or historical data.

In some embodiments, processor 306 may determine to fulfill the first and second requests using the same service vehicle shared by the first and second users when individual routes to the respective destination locations of the first and second users are sufficiently overlapping. For example, referring to FIG. 1, processor 306 may determine a first route to destination 132 (e.g., 152) and a second route to destination 136 (e.g., part of 152 and part of 156). Processor 306 may then determine a degree of overlapping between the two routes. In this case, the two routes overlap with each other for most of the entire length. Processor 306 may then compare the degree of overlapping with a predetermined threshold, such as 70%, 80%, 90%, etc. If the degree of overlapping is greater than the predetermined threshold, then processor 306 may determine that users 102 and 106 may share the same service vehicle.

If processor 306 determines not to fulfill the first and second requests using the same service vehicle (the NO branch of step 404), method 400 proceeds to step 406, in which processor 306 does not combine the first and second requests. Instead, processor 306 may search for other co-rider options for user 102/106. If, on the other hand, processor 306 determines to fulfill the first and second requests using the same service vehicle (the YES branch of step 404), then method 400 proceeds to step 408, in which processor 306 may combine the first and second requests into a combined request. In some embodiments, processor 306 may determine a service route to fulfill the first and second requests using the same service vehicle. For example, referring to FIG. 1, processor 306 may determine that route 152 with a detour 156 to be the service route for the combined request.

In some embodiments, processor 306 may determine a pick-up location (e.g., pick-up location 124) for picking up at least one of the first and second user. In some embodiments, pick-up location 124 may be determined based on historical data example, pick-up location information of past transportation requests may be collected and analyzed to determine one or more optimal pick-up locations. Various factors may be used to determine the pick-up location 124. For example, the frequency of a particular place is used as a pick-up location may indicate the place is suitable for serving as a convenient pick-up place. Similarly, the number of orders, the distribution of pick-ups throughout the day, etc., can also be used as the factors.

In some embodiments, pick-up location 124 may be determined based on the convenience or efficiency of picking up a passenger by a service vehicle. For example, the pick-up location 124 may be selected at one side of a road so that the service vehicle does not have to make a U-turn or other complicated or time-consuming routes to reach the pick-up location. In another example, the pick-up location may be selected at places permitting passenger pick-up, such as the entrance of a hotel, park, etc., and to avoid places such as bus stops, traffic circles, and any roadside without a pedestrian walking area.

In some embodiments, pick-up location 124 may be determined to minimize a likelihood of cancellation of the transportation service. For example, a learning model may be trained based on historical data correlating pick-up locations and cancellations of service. The learning model may then be used to predict, based on factors of a current service request and available pick-up locations, a probability of cancellation for each available pick-up location. Processor 306 may select the pick-up location that is associated with the lowest probability of cancellation.

In some embodiments, processor 306 may first determine the pick-up location in the form of geographical coordinates based on factors discussed above. After the geographical coordinates of the pick-up location is determined, the address or point of interest corresponding to the geographical coordinates may be determined based on, for example, map data.

In some embodiments, processor 306 may determine one or more candidate pick-up locations. Processor 306 may provide the candidate pick-up locations to user 102/106 and may receive input from user 102/106 indicating a selection of a pick-up location from the candidate pick-up locations. Processor 306 may then determine the pick-up location based on the user selection.

In some embodiments, processor 306 may determine the one or more candidate pick-up locations based on historical information of pick-up locations from past transportation services. In some embodiments, processor 306 may access history pick-up location data which may include relationship between past pick-up locations and user locations. For example, history pic-up location data may include information of actual pick-up locations corresponding to origin locations and a current location of a user. Candidate pick-up location(s) may be selected from those actual pick-up locations (e.g., the most popular pick-up location(s)).

Referring back to FIG. 4, method 400 proceeds to step 410, in which processor 306 may send the combined request to one or more service providers. In some embodiments, processor 306 may broadcast the combined request to one or more service providers within an area around pick-up location 124. For example, service provider 104 may communicate with server 172 using terminal device 114 to provide the current location of service vehicle 110. Based on the service vehicle location information, processor 306 may select one or more service vehicles that are within a predetermine or dynamically determined area around pick-up location 124 as candidate service vehicles and broadcast the combined request for cost-sharing transportation service to the selected service vehicles (e.g., by sending the combined request to the terminal devices associated with the service vehicles). After receiving the combined request, each terminal device may display an interface indicating the combined request to allow the driver of the service vehicle to accept the combined request. FIG. 5A illustrates an exemplary interface 510 displayed on, for example, terminal device 114. As shown in FIG. 5A, interface 510 may include an information section 520, a map section 530, and an acceptance indicator 540. Information section 520 may include an indicator 522 showing that the request is a cost-sharing transportation service. In addition, information section 520 may include ride fare information based on the combined ride fare from available co-riders (e.g., users 102 and 106). In this case, the ride fare shows that the cost-sharing transportation service is a full price ride, assuring the driver the compensation would not be less than providing individual, non-cost-sharing transportation services. Information section 520 may also include information of the pick-up location, in this case the “Central Village,” as well as the estimated distance (e.g., “200 m”) and driving time (e.g., “2 mins”) to the pick-up location. In some embodiments, the entire service route may not be revealed to the driver at this stage. Rather, only the pick-up location is displayed to the driver.

Map section 530 may include a map showing the pick-up location 532, current location of the service vehicle 534, and a navigation route 536 from the current location to the pick-up location. Indicator 540 may be in a form of a button, as shown in FIG. 5A, to allow the driver to click thereon to accept the combined request. Indicator 540 may also display a timer indicating a time passed since the combined request is broadcast or a remaining time to accept the combined request. For example, in FIG. 5A, indicator 540 shows that 6 seconds has passed since the combined request was broadcast, or there are 6 seconds left before the drive can accept the combined request.

Referring back to FIG. 4, method 400 proceeds to step 412, in which processor 306 may locate a service provider to fulfill the combined request. In some embodiments, processor 306 may locate the service provider after the service provider accepts the combined request. FIG. 5B shows an exemplary interface displayed on a service provider's terminal device (e.g., terminal device 114) after the service provider accepts the combined request. Referring to FIG. 5B, after the service provider accepts the combined request by, for example, clicking indicator 540 shown in FIG. 5A, information section 520 displays information of the pick-up location “Central Village”), as well as the distance and driving time. Map section 530 displays the entire service route 538, including multiple pick-up locations 537 and drop-off locations 539. A pick-up information section 550 is also displayed, in which multiple passengers sharing the same service vehicle are listed (e.g., “Alex,” “Ben,” and “Catherine”). An advisory message indicating the time period within which the driver needs to arrive at the first pick-up location is also display (“Please be at the pick-up location in 5 mins”), and the time period may count down to zero. A confirmation button (“Arrive at pick up point”) shown in section 550 may be clicked by the driver to indicate that he/she has arrived at the pick-up location. Once the drive clicks the confirmation button, a pick-up confirmation interface may be displayed. An exemplary implementation of the pick-up confirmation interface is shown in FIG. 5C.

Referring to FIG. 5C, the pick-up confirmation interface may include a pick-up confirmation tab 560 to allow the driver to confirm passenger pick-up. As shown in FIG. 5C, pick-up confirmation tab 560 may include a pick-up confirmation button 562 for each passenger. In addition, the number of seats 564 may be displayed under each passenger's name. The driver may confirm pick-up by clicking the pick-up confirmation button 562. In some embodiments, a confirmation dialog may be display after the driver clicks button 562, as shown in FIG. 5D. Referring to FIG. 5D, confirmation dialog 566 may include a further confirmation in case button 562 is clicked by accident. Once re-confirmed on confirmation dialog 566, the pick-up process for the first passenger may conclude. An exemplary interface as shown in FIG. 5E may be displayed, in which the pick-up confirmation button 568 is changed to “Picked Up” state, indicating that passenger Alex has been picked up.

Other passengers sharing the same service vehicle can be picked up in a similar process. Therefore, detailed description about picking up other passengers is omitted. FIG. 5F shows an exemplary interface for dropping off a passenger, in this case Alex. Referring to FIG. 5F, information section 520 now displays the destination location of Alex (“123 Main Street”), as well as the distance and driving time to the destination location. Map section 530 display a navigation route from the current location of the service vehicle to Alex's destination location. It is noted that subsequent pick-up locations and drop-off locations may also be displayed. A payment information block 572 may be displayed, indicating the type of payment for Alex's portion of the ride fare. For example, cash payment may be the payment type used by Alex. In this case, the driver may need to collect the payment before Alex concludes the ride. A drop-off confirmation button 573 may be displayed. The driver may click button 574 to confirm dropping off a passenger, in this case, Alex.

FIG. 5G shows an exemplary interface displaying the final destination of the service route. Similar to FIG. 5F, the interface shown in FIG. 5G also include the information section 520 displaying the final destination information. Different from FIG. 5F, the payment block in FIG. 5G shows that the payment type is an online payment. In this case, the driver can be automatically paid upon concluding the ride. The drop-off confirmation button 574 may display the ride fare to be collected automatically.

Another aspect of the disclosure is directed to a non-transitory computer-readable medium storing instructions which, when executed, cause one or more processors to perform the methods, as discussed above. The computer-readable medium may include volatile or non-volatile, magnetic, semiconductor-based, tape-based, optical, removable, non-removable, or other types of computer-readable medium or computer-readable storage devices. For example, the computer-readable medium may be the storage device or the memory module having the computer instructions stored thereon, as disclosed. In some embodiments, the computer-readable medium may be a disc or a flash drive having the computer instructions stored thereon.

It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed system and related methods. Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice of the disclosed system and related methods.

It is intended that the specification and examples be considered as exemplary only, with a true scope being indicated by the following claims and their equivalents. 

1. A system for providing a transportation service, comprising: a memory storing computer-readable instructions; and at least one processor coupled to the memory, wherein the instructions, when executed by the at least one processor, cause the at least one processor to perform operations comprising: receiving first and second requests for a cost-sharing option of the transportation service from first and second users, respectively; determining whether to fulfill the first and second requests using a same service vehicle shared by the first and second users; and in response to a determination to fulfill the first and second requests using the same service vehicle shared by the first and second users: combining the first and second requests into a combined request; sending the combined request to one or more service providers; and locating a service provider to fulfill the combined request.
 2. The system of claim 1, wherein: the first request comprises a first destination location associated with the cost-sharing option; the second request comprises a second destination location associated with the cost-sharing option; and the operations further comprise: determining whether to fulfill the first and second requests using the same service vehicle shared by the first and second users based on the first and second destination locations.
 3. The system of claim 2, wherein the operations further comprise: determining to fulfill the first and second requests using the same service vehicle shared by the first and second users when a distance between the first and second destination locations is below a predetermined threshold.
 4. The system of claim 2, wherein the operations further comprise: determining to fulfill the first and second requests using the same service vehicle shared by the first and second users when a driving time from the first destination location to the second destination location or from the second destination location to the first destination location is below a predetermined threshold.
 5. The system of claim 2; wherein the operations further comprise: determining a first route to the first destination location; determining a second route to the second destination location; and determining to fulfill the first and second requests using the same service vehicle shared by the first and second users when a degree of overlapping between the first and second routes is greater than a predetermined threshold.
 6. The system of claim 1, wherein combining the first and second requests into the combined request comprises: determining a service route to fulfill the first and second requests using the same service vehicle; and the operations further comprise: receiving input from the service provider indicating that the service provider accepts the combined request; and providing the service route to the service provider after the service provider accepts the combined request.
 7. The system of claim 1, wherein the operations comprise: determining a pick-up location for picking up at least one of the first user or the second user; and sending information of the pick-up location to the service provider along with the combined request.
 8. The system of claim 7, wherein locating a service provider to fulfill the combined request comprises: locating one or more service providers within a predetermined distance from the pick-up location.
 9. The system of claim 7, wherein the operations further comprise: determining the pick-up location based on locations of the first and second users by optimizing an average distance between the locations of first and second users and the pick-up location.
 10. The system of claim 7, wherein the operations further comprise: determining an address or point of interest corresponding to the pick-up location; and providing the address or point of interest to the service provider.
 11. The system of claim 1, wherein the operations further comprise: determining a total ride fare to be collected from the first and second users; and sending information of the total ride fare to the service provider along with the combined request.
 12. The system of claim 1, wherein the operations further comprise: receiving a third request for the cost-sharing option of the transportation service from a third user; determining whether to fulfill the first, second, and third requests using the same service vehicle shared by the first, second, and third users; and in response to a determination to fulfill the first, second, and third requests using the same service vehicle: combining the first, second, and third requests into the combined request; sending the combined request to one or more service providers; and locating a service provider to fulfill the combined request.
 13. A computer-implemented method for providing a cost-sharing transportation service, comprising: receiving first and second requests for a cost-sharing option of the transportation service from first and second users, respectively; determining whether to fulfill the first and second requests using a same service vehicle shared by the first and second users; and in response to a determination to fulfill the first and second requests using the same service vehicle shared by the first and second users: combining the first and second requests into a combined request; sending the combined request to one or more service providers; and locating a service provider to fulfill the combined request.
 14. The method of claim 13, wherein: the first request comprises a first destination location associated with the cost-sharing option; the second request comprises a second destination location associated with the cost-sharing option; and the method further comprises: determining whether to fulfill the first and second requests using the same service vehicle shared by the first and second users based on the first and second destination locations.
 15. The method of claim 14, further comprising: determining to fulfill the first and second requests using the same service vehicle shared by the first and second users when a distance between the first and second destination locations is below a predetermined threshold.
 16. The method of claim 14, further comprising: determining to fulfill the first and second requests using the same service vehicle shared by the first and second users when a driving time from the first destination location to the second destination location or from the second destination location to the first destination location is below a predetermined threshold.
 17. The method of claim 14, further comprising: determining a first route to the first destination location; determining a second route to the second destination location; and determining to fulfill the first and second requests using the same service vehicle shared by the first and second users when a degree of overlapping between the first and second routes is greater than a predetermined threshold.
 18. (canceled)
 19. The method of claim 13, further comprising: determining a pick-up location for picking up at least one of the first or second user; and sending information of the pick-up location to the service provider along with the combined request. 20-21. (canceled)
 22. The method of claim 19, further comprising: determining an address or point of interest corresponding to the pick-up location; and providing the address or point of interest to the service provider. 23-24. (canceled)
 25. A non-transitory computer-readable medium that stores a set of instructions, when executed by at least one processor of an electronic device, cause the electronic device to perform a method for providing a cost-sharing transportation service, the method comprising: receiving first and second requests for a cost-sharing option of the transportation service from first and second users, respectively; determining whether to fulfill the first and second requests using a same service vehicle shared by the first and second users; and in response to a determination to fulfill the first and second requests using the same service vehicle shared by the first and second users: combining the first and second requests into a combined request; sending the combined request to one or more service providers; and locating a service provider to fulfill the combined request.
 26. (canceled) 